package com.gxuwz.adminprovider.mapper;

import com.gxuwz.commonmodule.entity.Admin;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;

import java.util.List;

@Mapper
public interface AdminMapper {
    /**
     * 管理员登陆接口
     * @param username
     * @param password
     * @param role
     * @return
     */
    @Select("select * from admin where username=#{username} and password=#{password} and role=#{role}")
    public Admin login(@Param(value = "username")String username, @Param(value = "password") String password, @Param(value = "role") String role);

    /**
     * 插入管理员信息
     * @param admin
     */
    public void insert(@RequestBody Admin admin);

    /**
     * 删除管理员信息
     * @param username
     */
    public void delete(@PathVariable("username") String username);

    /**
     * 更新管理员信息
     * @param admin
     */
    public void update(@RequestBody Admin admin);

    /**
     * 通过id查询管理员信息
     * @param username
     * @return
     */
    public Admin findByID(@PathVariable("username") String username);

    /**
     * 查找管理员全部信息
     * @param admin-封装查询参数的对象
     * @return
     */
    public List<Admin> query(@RequestBody Admin admin);

    /**
     * 通过用户username展示管理员信息(info)
     * @param username
     * @return
     */
    Admin findInfo(@PathVariable("username") String username);

    /**
     * 分页查询管理员信息(不带条件)
     * @param admin
     * @return
     */
    List<Admin> findPage(@RequestBody Admin admin);


}
